/*
 * Copyright© 2003-2019 浙江汇信科技有限公司, All Rights Reserved.
 */
package com.icinfo.cloud.provider.punish.ucase.casemain.service;

import cn.hutool.core.lang.Dict;
import com.icinfo.cloud.common.core.page.PageResponse;
import com.icinfo.cloud.provider.punish.ucase.casemain.dto.*;
import com.icinfo.cloud.provider.punish.ucase.casemain.vo.CaseInfoQueryVo;
import com.icinfo.cloud.provider.punish.ucase.casemain.vo.CaseProsecutionJudgmentVo;
import com.icinfo.cloud.provider.punish.ucase.casemain.vo.CaseProsecutionRegisterVo;
import com.icinfo.cloud.provider.punish.ucase.casemain.vo.CaseProsecutionVo;
import com.icinfo.framework.core.service.BaseService;

import java.util.List;

/**
 * 描述:  case_prosecution 对应的Service接口.<br>
 *
 * @author framework generator
 * @date 2022年12月01日
 */
public interface ICaseProsecutionService extends BaseService {

    /**
     * 分页获取案件诉讼列表
     *
     * @param request 请求对象
     * @return 诉讼列表
     * @author lilihao
     * @date 2022/12/5 0:45
     */
    PageResponse<CaseProsecutionVo> getPageList(CaseProsecutionPageQueryRequest request);

    /**
     * 获取案件诉讼详情
     *
     * @param idDto 请求对象
     * @return 诉讼详情列表
     * @author lilihao
     * @date 2022/12/5 16:11
     */
    Dict getDetail(CaseProsecutionIdDto idDto);

    /**
     * 获取诉讼登记信息
     *
     * @param idDto 请求对象
     * @return 诉讼登记信息
     * @author lilihao
     * @date 2022/12/5 16:16
     */
    CaseProsecutionRegisterVo getRegisterInfo(CaseProsecutionIdDto idDto);

    /**
     * 获取关联案件列表
     *
     * @param queryNameDto 请求对象
     * @return 关联案件列表
     * @author lilihao
     * @date 2022/12/4 21:09
     */
    List<CaseInfoQueryVo> getRelCaseList(CaseInfoQueryNameDto queryNameDto);

    /**
     * 保存登记信息
     *
     * @param saveDto 存储信息
     * @return 状态：1 保存成功
     * @author lilihao
     * @date 2022/12/4 23:02
     */
    int saveRegisterInfo(CaseProsecutionRegisterSaveDto saveDto);

    /**
     * 更新登记信息
     *
     * @param saveDto 存储信息
     * @return 状态：1 更新成功
     * @author lilihao
     * @date 2022/12/4 23:02
     */
    int updateRegisterInfo(CaseProsecutionRegisterSaveDto saveDto);

    /**
     * 删除诉讼信息
     *
     * @param idDto 请求id
     * @author lilihao
     * @date 2022/12/4 23:02
     */
    int delInfo(CaseProsecutionIdDto idDto);

    /**
     * 获取诉讼判决信息
     *
     * @param idDto 请求id
     * @return 诉讼判决信息
     * @author lilihao
     * @date 2022/12/5 3:55
     */
    CaseProsecutionJudgmentVo getJudgmentInfo(CaseProsecutionIdDto idDto);

    /**
     * 保存诉讼判决信息
     *
     * @param saveDto 保存信息
     * @return 状态：1：存储成功，
     * @author lilihao
     * @date 2022/12/5 4:01
     */
    int saveJudgmentInfo(CaseProsecutionJudgmentSaveDto saveDto);

    /**
     * 是否拥有法治人员角色
     *
     * @return true:是，false：否
     * @author lilihao
     * @date 2022/12/6 19:49
     */
    boolean isHaveLawRole();
}